package java_thinking.unit_18_IO._18_10;

import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.Arrays;

import static common.util.Print.print;

/**
 * @Desc:   字节存放次序
 *          big endian 将最重要的字节存放在地址最低的存储单元
 *          little endian 将最重要的字节放在地址最高的存储单元
 *          ByteBuffer 是以高位优先的形式存储数据，而数据在网上传送时也常常使用高位优先的形式；
 * @author: cww
 * @DateTime: 2019/5/17 20:03
 */

public class Endians {
    public static void main(String[] args) {
        ByteBuffer bb = ByteBuffer.wrap(new byte[12]);
        bb.asCharBuffer().put("abcdef");
        print(Arrays.toString(bb.array()));
        bb.rewind();
        bb.order(ByteOrder.BIG_ENDIAN);
        bb.asCharBuffer().put("abcdf");
        print(Arrays.toString(bb.array()));
        bb.rewind();
        bb.order(ByteOrder.LITTLE_ENDIAN);
        bb.asCharBuffer().put("abcdef");
        print(Arrays.toString(bb.array()));
    }
}
